The CANOpen network is well known. Typically the CANOpen network includes an intelligent master device and a plurality of I/O modules (slave devices) coupled to a serial communications bus. Typically a CANOpen network includes a plurality of analog I/O modules as well as a plurality of discrete (on/off) I/O modules. Current methods for transmitting data from the I/O modules to the master device are either: (1) timed data transmissions from each of the I/O modules to the master device; (2) random, change-of-state transmissions from the I/O modules to the master device any time the state of one of the I/O modules changed; or (3) timed requests from the master device to each of the I/O modules.
In the first two of these methods, it is impossible to insure that the peak volume of the messages will not overload the master device. This can prevent the master device from processing all of the messages, and thus, messages can be missed. While the third method solves the problem of peak loading, it does not insure that the network is operating at its maximum capacity.
The CANOpen network was originally developed for automobiles, where the number of I/O points, and bus length, are known and relatively limited. For this purpose, the CANOpen network, with the above described limitations, operated satisfactorily. However, there has been a desire to utilize CANOpen networks in industrial control, where greater flexibility in the number of I/O modules and bus length are required. In these situations, the above described limitations have proven to be a problem.
The present invention is provided to solve these and other problems.